Software development projects include a large amount of teams and developers that develop an application. The development process includes generating multiple builds of the application that may include different features. For example, some features may or may not be included in different builds. Controlling which features should be included may require manually changing the source code for the application, which is inconvenient and time consuming for developers. Also, typically, some other feature in the application may depend upon the feature being included in the builds. The dependency may be broken when the feature is removed and an error may occur due to the broken dependency.